package com.mybase.app.Resource;

import android.app.Activity;
import android.content.res.Resources;
import android.graphics.drawable.ClipDrawable;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.*;
import com.mybase.app.R;

import java.util.Timer;
import java.util.TimerTask;

/**
 * Created by happy_000 on 2014/12/9.
 */
public class ResValuesActivity extends Activity {

    //使用字符串资源
    int[] textIds = new int[]
            {
                    R.string.c1, R.string.c2, R.string.c3,
                    R.string.c4, R.string.c5, R.string.c6,
                    R.string.c7, R.string.c8, R.string.c9
            };
    //使用颜色资源
    int[] colorIds = new int[]
            {
                    R.color.c1, R.color.c2, R.color.c3,
                    R.color.c4, R.color.c5, R.color.c6,
                    R.color.c7, R.color.c8, R.color.c9
            };

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_re_valuesres);
        final ImageView image = (ImageView) findViewById(R.id.res_values_imageview_anim);
        //加载动画资源
        final Animation anim = AnimationUtils
                .loadAnimation(this, R.anim.res_values_anim);
        //设置动画结束后保留结束状态
        anim.setFillAfter(true);
        image.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View arg0)
            {
                //开始动画
                image.startAnimation(anim);
            }
        });

        ImageView imageview = (ImageView) findViewById(R.id.image);
        //获取图片所显示的ClipDrawable对象
        final ClipDrawable drawable = (ClipDrawable) imageview.getDrawable();
        final Handler handler = new Handler()
        {
            @Override
            public void handleMessage(Message msg)
            {
                //如果该消息是本程序所发送的
                if (msg.what == 0x1233)
                {
                    //修改ClipDrawable的level值
                    drawable.setLevel(drawable.getLevel() + 200);
                }
            }
        };
        final Timer timer = new Timer();
        timer.schedule(new TimerTask()
        {
            @Override
            public void run()
            {
                Message msg = new Message();
                msg.what = 0x1233;
                //发送消息，通知应用修改ClipDrawable对象的level值。
                handler.sendMessage(msg);
                //取消定时器
                if (drawable.getLevel() >= 10000)
                {
                    timer.cancel();
                }
            }
        }
                , 0 , 300);



        //创建一个BaseAdapter对象
        BaseAdapter ba = new BaseAdapter() {
            @Override
            public int getCount() {
                //指定一共包含9个选项
                return textIds.length;
            }

            @Override
            public Object getItem(int position) {
                //返回指定位置的文本
                return getResources().getText(textIds[position]);
            }

            @Override
            public long getItemId(int position) {
                return position;
            }

            //重写该方法，该方法返回的View将作为的GridView的每个格子
            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                TextView text = new TextView(ResValuesActivity.this);
                Resources res = ResValuesActivity.this.getResources();
                //使用尺度资源来设置文本框的高度、宽度
                text.setWidth((int) res.getDimension(R.dimen.cell_width));
                text.setHeight((int) res.getDimension(R.dimen.cell_height));
                //使用字符串资源设置文本框的内容
                text.setText(textIds[position]);
                //使用颜色资源来设置文本框的背景色
                text.setBackgroundResource(colorIds[position]);
                text.setTextSize(20);
                text.setTextSize(getResources().getInteger(R.integer.font_size));
                return text;
            }
        };
        GridView grid = (GridView) findViewById(R.id.grid01);
        //为GridView设置Adapter
        grid.setAdapter(ba);
    }

}


    /*********
     *
     //获取系统定义的数组资源
     String[] texts;
     @Override
     public void onCreate(Bundle savedInstanceState)
     {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.main);
     texts = getResources().getStringArray(R.array.string_arr);
     //创建一个BaseAdapter对象
     BaseAdapter ba = new BaseAdapter()
     {
     @Override
     public int getCount()
     {
     //指定一共包含9个选项
     return texts.length;
     }

     @Override
     public Object getItem(int position)
     {
     //返回指定位置的文本
     return texts[position];
     }

     @Override
     public long getItemId(int position)
     {
     return position;
     }
     //重写该方法，该方法返回的View将作为的GridView的每个格子
     @Override
     public View getView(int position, View convertView, ViewGroup parent)
     {
     TextView text = new TextView(ArrayResTest.this);
     Resources res = ArrayResTest.this.getResources();
     //使用尺度资源来设置文本框的高度、宽度
     text.setWidth((int) res.getDimension(R.dimen.cell_width));
     text.setHeight((int) res.getDimension(R.dimen.cell_height));
     //使用字符串资源设置文本框的内容
     text.setText(texts[position]);
     TypedArray icons = res.obtainTypedArray(R.array.plain_arr);
     //使用颜色资源来设置文本框的 背景色
     text.setBackgroundDrawable(icons.getDrawable(position));
     text.setTextSize(20);
     return text;
     }
     };
     GridView grid = (GridView)findViewById(R.id.grid01);
     //为GridView设置Adapter
     grid.setAdapter(ba);
     }
     */
